package com.wicket.okrapp.biz.service.dto.res;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @desc ObtainWorkContentComRespDto
 * @使用场景
 */
@Data
public class ObtainWorkContentComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 内容表主键ID
   */
  @ApiModelProperty("内容表主键ID")
  private String entityId;

  /**
   * 工作任务对象名称
   */
  @ApiModelProperty("工作任务对象名称")
  private String workTaskObjectName;

  /**
   * 接收部门ID
   */
  @ApiModelProperty("接收部门ID")
  private String receiveSubjectId;

  /**
   * 安排主体ID
   */
  @ApiModelProperty("安排主体ID")
  private String arrangeSubjectId;

  /**
   * 安排主体类型编码 OMS_ORG_ORGANIZATION:组织表 OMS_ORG_DEPT:部门表
   */
  @ApiModelProperty("安排主体类型编码")
  private String arrangeSubjectTypeCode;

  /**
   * 计划开始时间
   */
  @ApiModelProperty("计划开始时间")
  private Date planStartTime;

  /**
   * 计划结束时间
   */
  @ApiModelProperty("计划结束时间")
  private Date planEndTime;

  /**
   * 总时长
   */
  @ApiModelProperty("总时长")
  private Long totalLength;

  /**
   * 结束时间偏差天数
   */
  @ApiModelProperty("结束时间偏差天数")
  private Long deflectionEndDays;

  /**
   * 前端偏差时间
   */
  @ApiModelProperty("前端偏差时间")
  private Long deflectionTime;

  /**
   * 冗余最新进度
   */
  @ApiModelProperty("冗余最新进度")
  private Double percentageProgress;

  /**
   * 任务进展状态 NOT_AT_THE:未开始 ONGOING:进行中 HAS_ENDED:已结束
   */
  @ApiModelProperty("任务进展状态")
  private String taskStatus;

  /**
   * 是否完成 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否完成")
  private String isComplete;

  /**
   * 完成情况 AHEAD_SCHEDULE:提前完成（提前24h） NORMAL_COMPLETE:正常完成 OVERDUE_COMPLETE:逾期完成
   */
  @ApiModelProperty("完成情况")
  private String completeStatus;

  /**
   * 相关人数量
   */
  @ApiModelProperty("相关人数量")
  private Long relevantPeopleNum;

  /**
   * 工作任务是否已安排 TRUE:是 FALSE:否
   */
  @ApiModelProperty("工作任务是否已安排")
  private String workTaskIsArrange;

  /**
   * 指定工作任务安排人就职记录ID
   */
  @ApiModelProperty("指定工作任务安排人就职记录ID")
  private String appointWorkTaskArrangeInductionId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 是否逾期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否逾期")
  private String isOverdue;

}
